package com.own.business.system.menu.business.service;

import com.own.business.system.menu.entity.bo.SystemRoleBo;
import com.own.business.system.menu.entity.map.SystemRoleMapVo;
import com.own.business.system.menu.entity.po.SystemRole;
import com.own.business.system.menu.entity.query.SystemRoleQuery;
import com.own.business.system.menu.entity.vo.SystemRoleVo;
import com.own.component.common.base.service.BaseService;

import java.util.List;

/**
 * SystemRoleService
 *
 * @author chenxueli
 * @date 2024-03-31 09:22:58
 */
public interface SystemRoleService extends BaseService<
        SystemRole,
        SystemRoleBo,
        SystemRoleVo,
        SystemRoleMapVo,
        SystemRoleQuery
        > {

    /**
     * 根据用户id查询角色列表
     *
     * @param userId 用户id
     * @return 角色列表
     */
    List<SystemRole> listByUserId(Long userId);

    /**
     * 根据用户id查询角色列表
     *
     * @param userId 用户id
     * @param client 客户端
     * @return 角色列表
     */
    List<SystemRole> listByUserId(Long userId, String client);

    /**
     * 根据角色id禁用角色
     *
     * @param roleId  角色id
     * @param disable 禁用状态 0-启用 1-禁用
     */
    void updateDisableById(Long roleId, Integer disable);

}

